package file;

import java.io.File;
import java.io.FileFilter;

/**
 * 有条件的获取一个目录中的部分子项
 */
public class ListFilesDemo {
    public static void main(String[] args) {
        //需求:获取./src/main/java/file目录中所有名字中含有字母"F"的子项
        File dir = new File("./src/main/java/file");
        if (dir.isDirectory()){  //是目录
            FileFilter filter= new FileFilter() {  //创建一个过滤器

                public boolean accept(File file) {    //accept：接受
                    String name = file.getName();
                    return name.contains("F");   //返回带F的文件名
                }
            };
            File[] subs =dir.listFiles(filter);  //listFiles：列出文件   将过滤器中的文件，存放在sub中
            for (File sub: subs) {
                System.out.println(sub.getName());  //获取到的文件输出

            }
        }
    }
}
